﻿using Sustainalytics.BusinessResearchProductStates.Entities.ResearchState;
using Sustainalytics.ClientDW.Entities;
using Sustainalytics.Entities;
using System;
using System.Collections.Generic;

namespace Sustainalytics.ESG.Entities
{
    public class RPIndicatorExtended : IEntity, IHasCompanyId, IHasUniverseIds
    {
        public Guid Id { get; set; }
        public Guid CompanyId { get; set; }
        public string Number { get; set; }
        public AnswerCategory SelectedAnswer { get; set; }
        public Guid TemplateId { get; set; }
        public List<int> UniverseIds { get; set; }

        public int? Trend { get; set; }

        public Timestamped<double?> Weight { get; set; }
        public Timestamped<double?> WeightedScore { get; set; }

        public IndicatorTemplate Template { get; set; }

        public Timestamped<string> Comments { get; set; }
        public Timestamped<List<DataHistory>> DataTable { get; set; }
        public List<Tickbox> Tickboxes { get; set; }

        public ClientFacingProduct ClientFacingProduct { get; set; }
    }

    public class DataHistory
    {
        public string Name { get; set; }
        public int Year { get; set; }
        public string Value { get; set; }
    }

    public class Tickbox
    {
        public string Text { get; set; }
        public bool IsChecked { get; set; }
        public DateTime? Timestamp { get; set; }
    }
}
